package com.chenl.provider.DEMOS.全局参数校验和异常捕获;

import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.*;

@Data
@Accessors(chain = true)
public class ValidModel {
    @Null
    String name1;//限制只能为null

    @NotNull
    String name2;//限制必须不为null

    @AssertTrue @AssertFalse
    String name3;//限制必须为true/false

    @DecimalMax(value = "1")@DecimalMin(value = "1")
    String name4;//限制必须为一个不大于/小于 指定值的数字

    @Digits(integer = 1,fraction = 2)
    String name5;//限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction

    @Future
    String name6;//限制必须是一个将来的日期

    @Max(value = 1)@Min(value = 1)
    String name7;//限制必须为一个不大于/小于 指定值的数字

    @Past
    String name8;//验证注解的元素值(日期类型)比当前早

    @Pattern(regexp = "")
    String name9;//限制必须符合指定的正则表达式

    @Size(max = 3,min = 1)
    String name10;//限制字符长度必须在min到max之间

    @NotEmpty
    String name11;//验证注解的元素值不为null且不为空(字符串长度不为0,集合大小不为0)

    @NotBlank
    String name12;//验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用与字符串且在比较时会去除字符串的空格

    @Email
    String name13;//验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式
}
